#!/bin/bash
echo "🚀 启动真实数据采集版轴承监控系统"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🔧 主要特性:"
echo "   🌐 新网络IP: 192.168.10.101:5006"
echo "   📊 真实IMU振动数据 (MAC: 26:EF:60:96:87:3A)"
echo "   🔊 真实声音波形采集"
echo "   🎯 改进的音频异常检测"
echo "   📈 XYZ三轴振动实时显示"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

cd /home/pi/data_box_3_v0

# 停止所有相关进程
echo "🛑 停止旧版本进程..."
pkill -f "web_bearing_monitor" 2>/dev/null || true
pkill -f "imu_node" 2>/dev/null || true
pkill -f "rec.py" 2>/dev/null || true
sleep 3

# 激活虚拟环境
echo "🐍 激活虚拟环境..."
source production_env/bin/activate

# 安装缺失的模块
echo "📦 检查并安装必要模块..."
pip install --quiet pygatt bluepy pybluez 2>/dev/null || echo "⚠️  部分蓝牙模块安装失败，将使用模拟数据"

# 创建目录
echo "📁 准备数据目录..."
mkdir -p recordings test_photos logs test_data

# 检查录音文件
if [ -d "recordings" ] && [ "$(ls -A recordings)" ]; then
    echo "✅ 发现 $(ls recordings/*.wav 2>/dev/null | wc -l) 个录音文件"
    echo "🔊 将使用真实声音数据进行异常检测"
else
    echo "⚠️  未发现录音文件，请检查rec.py是否正常工作"
fi

# 检查IMU设备
echo "📡 检查蓝牙IMU设备..."
if command -v hcitool >/dev/null 2>&1; then
    echo "正在搜索MAC地址 26:EF:60:96:87:3A..."
    timeout 5s hcitool scan | grep "26:EF:60:96:87:3A" && echo "✅ 发现IMU设备" || echo "⚠️  未发现IMU设备，将使用模拟数据"
else
    echo "⚠️  蓝牙工具不可用"
fi

# 设置环境
export PYTHONPATH="$PYTHONPATH:$(pwd)"
export FLASK_ENV=production

echo ""
echo "⚠️  重要说明:"
echo "   🔊 声音数据: 基于真实录音文件的能量和振幅分析"
echo "   📊 振动数据: 尝试连接真实IMU，失败时使用高精度模拟"
echo "   🌐 新网络地址: http://192.168.10.101:5006"
echo "   ⏰ 请等待30秒完成硬件初始化"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

# 启动真实数据版本
python web_bearing_monitor_real_data.py
